HarmonyOS-鸿蒙app开发 —基于java音频开发概述

HarmonyOS-鸿蒙app开发 —基于java音频开发概述

HarmonyOS音频模块支持音频业务的开发,提供音频相关的功能,主要包括音频播放、音频采集、音量管理和短音播放等。

基本概念

  • 采样

    采样是指将连续时域上的模拟信号按照一定的时间间隔采样,获取到离散时域上离散信号的过程。

  • 采样率

    采样率为每秒从连续信号中提取并组成离散信号的采样次数,单位用赫兹(Hz)来表示。通常人耳能听到频率范围大约在20Hz~20kHz之间的声音。常用的音频采样频率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz、96kHz、192kHz等。

  • 声道

    声道是指声音在录制或播放时在不同空间位置采集或回放的相互独立的音频信号,所以声道数也就是声音录制时的音源数量或回放时相应的扬声器数量。

  • 音频帧

    音频数据是流式的,本身没有明确的帧的概念,在实际的应用中,为了音频算法处理/传输的方便,一般约定俗成取2.5ms~60ms为单位的数据量为一帧音频。这个时间被称之为“采样时间”,其长度没有特别的标准,它是根据编解码器和具体应用的需求来决定的。

  • PCM

    PCM(Pulse Code Modulation),即脉冲编码调制,是一种将模拟信号数字化的方法,是将时间连续、取值连续的模拟信号转换成时间离散、抽样值离散的数字信号的过程。

  • 短音

    使用源于应用程序包内的资源或者是文件系统里的文件为样本,将其解码成一个16bit单声道或者立体声的PCM流并加载到内存中,这使得应用程序可以直接用压缩数据流同时摆脱CPU加载数据的压力和播放时重解压的延迟。

  • tone音

    根据特定频率生成的波形,比如拨号盘的声音。

  • 系统音

    系统预置的短音,比如按键音,删除音等。

约束与限制

  • 在使用完AudioRenderer音频播放类和AudioCapturer音频采集类后,需要调用release()方法进行资源释放。
  • 音频采集所使用的最终采样率与采样格式取决于输入设备,不同设备支持的格式及采样率范围不同,可以通过AudioManager类的getDevices接口查询。
  • 该功能使用需要对应硬件支持,仅支持真机调试。
  • 在进行开发之前,需要申请相关权限,保证应用使用音频相关能力的权限,应用权限的介绍请参考权限章节,涉及权限如下表。

    权限名

    说明

    ohos.permission.MICROPHONE

    允许应用使用麦克风进行录音。

    ohos.permission.READ_MEDIA

    允许应用读取用户外部存储中的媒体文件信息。

    ohos.permission.WRITE_MEDIA

    允许应用读写用户外部存储中的媒体文件信息。

0 0 投票数
文章评分
订阅评论
提醒
0 评论
最旧
最新 最多投票
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x